package com.example.demo.common.util;

import org.apache.commons.lang3.StringUtils;
import org.springframework.util.DigestUtils;

/**
 * 加密工具类
 * 
 * @author user
 *
 */
public final class EncryptUtils {
	/**
	 * 对字符串进行MD5加密
	 * 
	 * @param text
	 *            源字符串
	 * @param salt
	 * @return
	 */
	public static final String md5(String text, String salt) {
		String md5First = DigestUtils.md5DigestAsHex(text.getBytes());
		return DigestUtils.md5DigestAsHex((md5First + salt).getBytes());
	}

	/**
	 * 检验密码是否一致
	 * 
	 * @param text
	 *            用户文本（前端传回）
	 * @param salt
	 *            用户密码中的盐（从数据库中获取）
	 * @param password
	 *            数据库中的密码（从数据库中获取）
	 * @return
	 */
	public static final boolean validateMd5(String text, String salt, String password) {
		return StringUtils.equalsIgnoreCase(md5(text, salt), password);
	}
}
